
/* 
 ###RSA非对称加密-本地记录保留加密
 前台公钥加密传参给后台，后台私钥解密；
*/
import JSEncrypt from 'jsencrypt/bin/jsencrypt.min'

// 密钥对生成 http://web.chacuo.net/netrsakeypair
// 或者 git bash生成："openssl genrsa -out private.pem 1024" 生成1024bit长度的密钥对; 
//                   "openssl rsa -in private.pem -pubout -out public.pem"从私钥中提取公钥;
// 在项目中生成 public.pem（公钥）和 private.pem（私钥）文件。

const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJFGUCtO66QnP3ih3tQRd2t97ZBIdwUA\n' + // 公钥
  'kC4rUNvPzpQx6W2lWUh2g4emYvGPsh28sgIw+n2x01w8eohr+XVFNPcCAwEAAQ=='


const privateKey = 'MIIBOQIBAAJBAJFGUCtO66QnP3ih3tQRd2t97ZBIdwUAkC4rUNvPzpQx6W2lWUh2\n' + // 私钥
  'g4emYvGPsh28sgIw+n2x01w8eohr+XVFNPcCAwEAAQI/RVCLeGLCQqT/5KbVkwSF\n' +
  'A+ARzt3H5TuIhWAsVpLM8Hc4/3GOYrc7TZnQl1d+mWLdMeKDAMcWbO4JcDipMDWR\n' +
  'AiEAyHNMKUozImkkdp94RpU+GqPUNIXs/v1nBUD8jnsrEJ8CIQC5iKSYKkrxsVDi\n' +
  'gDwu4Kh1n5SUJ3p5i0HO4UmnAnNEqQIhAJViX6sR0iPd6b/BvrgTdzIRUA9Ik8PA\n' +
  'g6tFsDJbFlAPAiBMGuwBax/Q4r5eGuIVDJytmyc0WrlXkDMPbMRsmIm1+QIgMScI\n' +
  '9Ov3jVkHRaQuKplSL3rv2dqbJ/YEIy8zi9AOXM4='
  
// 加密
export function encrypt(txt: any) {
  const encryptor = new JSEncrypt()
  encryptor.setPublicKey(publicKey) // 设置公钥
  return encryptor.encrypt(txt) // 对数据进行加密
}

// 解密
export function decrypt(txt: any) {
  const encryptor = new JSEncrypt()
  encryptor.setPrivateKey(privateKey) // 设置私钥
  return encryptor.decrypt(txt) // 对数据进行解密
}

